<?php

/*------------------------------------------------
*
*   Explay Engine Content Management System.
*   Copyright © 2008 Golovdinov Alexander.
*
*-------------------------------------------------
*
*   Oficial site: wwww.alex-home.spb.ru/explay.html
*   Contact e-mail: golovdinov@gmail.com
*
*   GNU General Public License original source:
*   http://www.gnu.org/licenses/gpl-3.0.html
*
------------------------------------------------*/

if (!defined ('EXPLAY')) exit;


$id = $_GET['id'];


// Управление
if (isset($_GET['delete'])) {
	$delete = $db->query ("DELETE FROM ".DB_PEREFIX."_panels WHERE panel_id = ".$_GET['delete']);
	site_message ('Панель удалена');
}

if (isset($_GET['off'])) {
	$update = $db->query ("UPDATE ".DB_PEREFIX."_panels SET panel_status = 'off' WHERE panel_id = ".$_GET['off']);
	site_message ('Панель отключена');
}

if (isset($_GET['turn'])) {
	$db->query ("UPDATE ".DB_PEREFIX."_panels SET panel_status = 'on' WHERE panel_id = ".$_GET['turn']);
	site_message ('Панель включена');
}


// Добавление панели
if (isset($_GET['save'])) {
	$header = $_POST['header'];
	$html = $_POST['html'];
	$group = $_POST['group'];
	$align = $_POST['align'];
	$pages = $_POST['pages'];
	$file = $_POST['file'];
	$status = $_POST['status'];
	
	($_POST['days'] != '') ? $days = $_POST['days'] : $days = 0;
	($_POST['table'] == 'use') ? $table = 'use' : $table = 'off';
	
	if ($header != '' && ($html != '' || $file != '')) {
			$db->query ("INSERT INTO ".DB_PEREFIX."_panels VALUES (0, '$header', '$html', '$align', '$pages', '$group', '$days', '".time()."', '$status', '$table', '$file')");
			site_message ('Панель добавлена');
		}
	else site_error ("Не заполнено одно из полей<br><a href='javascript:history.back();'><b>Назад</b></a>");
}

// Сохранения изменений
if (isset($_GET['edit_save'])) {
	$tid = $_POST['the_id'];
	$header = $_POST['header'];
	$html = $_POST['html'];
	$group = $_POST['group'];
	$align = $_POST['align'];
	$pages = $_POST['pages'];
	$file = $_POST['file'];
	$status = $_POST['status'];
	
	($_POST['days'] != '') ? $days = $_POST['days'] : $days = 0;
	($_POST['table'] == 'use') ? $table = 'use' : $table = 'off';
	
	if ($header != '' && $tid != '' && ($html != '' || $file != '')) {
		$db->query ("UPDATE ".DB_PEREFIX."_panels SET
			panel_header = '$header',
			panel_body = '$html',
			panel_align = '$align',
			panel_pages = '$pages',
			panel_group = '$group',
			panel_day = '$days',
			panel_status = '$status',
			panel_table = '$table',
			panel_file = '$file' WHERE panel_id = '$tid'");
		
		site_message ('Панель изменена');
	}
	else site_error ('Не заполнено одно из полей');
}



// Форма добавления
if (isset($_GET['add'])) {
	
	past_path (array(
		array ('admin.php?do=panels', 'Управление панелями'),
		array ('', 'Новая панель')
	));
	
	print "\n<script>document.title='Добавление панели - ".$SITE['site_name']."';</script>";

	add_panel ('do=panels&save', '', $_POST['header'], 'top', 'start', 'all', $_POST['html'], 0, 'on', '', '', 'use', $_POST['file']);
	
	come_back ('управлению панелями', 'admin.php?do=panels');
}

// Форма редактирования
elseif (isset($_GET['edit'])) {
	
	past_path (array(
		array ('admin.php?do=panels', 'Управление панелями'),
		array ('', 'Редактирование панели')
	));
	
	simple_table ("<span class=\"link_add\"><a href='admin.php?do=panels&add'>добавить панель</a></span>");
	print "\n<script>document.title='Исправление панели - ".$SITE['site_name']."';</script>";
	
	$select = $db->query ("SELECT * FROM ".DB_PEREFIX."_panels WHERE panel_id = ".$_GET['edit']);
	
	$pan = $db->fetch_array ($select);
	add_panel ('do=panels&edit_save', $_GET['edit'], $pan['panel_header'], $pan['panel_align'], $pan['panel_pages'], $pan['panel_group'], $pan['panel_body'], $pan['panel_day'], $pan['panel_status'], "edit", $pan['panel_date'], $pan['panel_table'], $pan['panel_file']);
	
	come_back ('управлению панелями', 'admin.php?do=panels');



// Вывод списка панелей
} else {


	past_path (array(
		array ('', 'Управление панелями')
	));
	
	simple_table ("<span class=\"link_add\"><a href='admin.php?do=panels&add'>добавить панель</a></span>");
	print "\n<script>document.title='Управление панелями - ".$SITE['site_name']."';</script>";
	
	$gpan = $db->query ("SELECT * FROM ".DB_PEREFIX."_panels");
	
	$pan_tr = '';
	if ($db->num_rows ($gpan) > 0) {
		while ($pan = $db->fetch_array ($gpan)) {
			($pan['panel_group'] == 'all') ? $group = 'Все' : $group = 'Зарегистр.';
			($pan['panel_align'] == 'top') ? $align = 'Верх' : $align = 'Низ';
			
			if ($pan['panel_pages'] == 'all')
				$pages = 'Все';
			elseif ($pan['panel_pages'] == 'start')
				$pages = 'Старт.';
			else
				$pages = $pan['panel_pages'];
			
			if ($pan['panel_day'] == '' || $pan['panel_day'] == 0) $days = 'Неогранич.';
			else {
				$day = $pan['panel_day'];
				$ost = (($pan['panel_date'] + ($day * 86400)) - time()) / 86400;
				$ost = sprintf("%.0f", $ost);
				$days = "$day ($ost)";
			}
			
			if ($days < 0) $days = 'Остановлен';
			
			if ($pan['panel_status'] == 'on') {
				$color = '';
				$status = '<a href="admin.php?do=panels&off='.$pan['panel_id'].'">Выключить</a>';
				$img = '<img src="images/work_on.gif" align="absmiddle" title="Панель активна" /> ';
			} else {
				$color = _DARK_TR_;
				$status = '<a href="admin.php?do=panels&turn='.$pan['panel_id'].'">Включить</a>';
				$img = '<img src="images/work_on.gif" align="absmiddle" title="Панель отключена" /> ';
			}
			
			$pan_tr .= "\r\n<tr bgcolor=\"$color\"><td class=\"ad_tr\">$img".$pan['panel_header']."</a></td>".
				"<td  class=\"ad_tr\" align=\"center\">$align</td>".
				"<td class=\"ad_tr\" align=\"center\">$group</td>".
				"<td class=\"ad_tr\" align=\"center\">$pages</td>".
				"<td class=\"ad_tr\" align=\"center\">$days</td>".
				"<td class=\"ad_tr\" align=\"center\">$status</td>".
				"<td class=\"ad_tr\" align=\"center\"><a href='admin.php?do=panels&edit=".$pan['panel_id']."'><img src='images/edit.gif' border=0 alt='Редактировать'></a><a href='javascript:delete_(\"admin.php?do=panels&delete=true&id=".$pan['panel_id']."\");'><img src='images/cut.gif' border=0 alt='Удалить'></a></td></tr>";
		}
		$pan_table = "\r\n<table class=\"body_table\" width=\"100%\" cellspacing=\"0\" cellpadding=\"3\">
		<tr>
			<td class=\"top_header_name\">Заголовок</td>
			<td class=\"top_header_name\">Положение</td>
			<td class=\"top_header_name\">Группа</td>
			<td class=\"top_header_name\">Страницы</td>
			<td class=\"top_header_name\">Дни</td>
			<td class=\"top_header_name\">Статус</td>
			<td class=\"top_header_name\">Опции</td>
		</tr>$pan_tr
	</table>
	<script>function delete_ (url_) { if (window.confirm('Вы действительно хотите удалить панель?') == true) document.location.href = url_; }</script>";
		
		past_table ('Управление панелями', $pan_table);
	}
	else site_error ('Нет панелей');
	
}

come_back ('панели администратора', 'admin.php');

function add_panel ($act, $id, $header, $align, $pages, $group, $body, $days, $status, $action, $time, $table, $file) {
	global $db;
	
	if ($group == 'register') $sel2 = 'selected';
	
	if ($align == 'bottom') $sel_3 = 'selected';

	if ($pages == 'start') $sel__2 = 'selected';
	if ($pages == 'modules') $sel__3 = 'selected';

	if ($status == 'off') $selected_2 = 'selected';
	
	if ($table == 'use') $table_c = 'checked';
		
	$get_modules = $db->query("SELECT module_name FROM ".DB_PEREFIX."_modules");
	$form .= "\n\n<form action=\"admin.php?$act\" method=\"post\" name=\"record\">
<input type=\"hidden\" name=\"the_id\" value=\"$id\" />
<table class=\"main_text\" width=\"100%\" cellspacing=\"0\" cellpadding=\"3\">
	<tr>
		<td width=\"25%\">Заголовок:</td>
		<td><input type=\"text\" name=\"header\" style=\"width:70%\" value=\"$header\" /></td>
	</tr>
	<tr>
		<td>Файл:</td>
		<td><input type=\"text\" name=\"file\" style=\"width:70%\" value=\"$file\" /></td>
	</tr>
	<tr>
		<td valign=top>HTML - код:</td>
		<td><textarea name=\"html\" rows=\"18\" style=\"width:100%\">$body</textarea></td>
	</tr>
	<tr>
		<td>Группа:</td>
		<td>
			<select name=\"group\">
				<option value=\"all\" $sel1>Все</option>
				<option value=\"register\" $sel2>Зарегистрированные</option>
			</select>
		</td>
	</tr>
	<tr>
		<td>Положение:</td>
		<td>
			<select name=\"align\">
				<option value=\"top\" $sel_2>Верх</option>
				<option value=\"bottom\" $sel_3>Низ</option>
			</select>
		</td>
	</tr>
	<tr>
		<td>Страницы/Модули:</td>
		<td>
			<select name=\"pages\">
				<option value=\"all\">Все</option>
				<option value=\"start\" $sel__2>Главная</option>
				<option value=\"modules\" $sel__3>Модули</option>";
	
	while ($mod = $db->fetch_array($get_modules)) {
		if ($pages == $mod['module_name'])
			$form .= "\r\n\t\t\t\t<option value=\"".$mod['module_name']."\" selected>".$mod['module_name']."</option>";
		else
			$form .= "\r\n\t\t\t\t<option value=\"".$mod['module_name']."\">".$mod['module_name']."</option>";
	}
	
	$form .= "\r\n\t\t\t</select>
		</td>
	</tr>
	<tr>
		<td>Статус:</td>
		<td>
			<select name=\"status\">
				<option value=\"on\" $selected>Включена</option>
				<option value=\"off\" $selected_2>Скрыта</option>
			</select>
		</td>
	</tr>
	<tr>
		<td>Использовать таблицу:</td>
		<td>
			<input type=\"checkbox\" name=\"table\" value=\"use\" $table_c>
			<a href=\"javascript:void(0)\" onmouseover=\"show_tip(this,'При отключении этого параметра будет выведен чистый HTML-код без окружающей таблицы.');\" onmouseout=\"close_tip();\">?</a>
		</td>
	</tr>
	<tr>
		<td>Время жизни (в днях):</td>
		<td>
			<input type=\"text\" name=\"days\" style=\"width:50px\" value=\"$days\" />
			<a href='javascript:void(0)' onmouseover=\"show_tip(this,'Пустое значени или ноль - неограниченное время.');\" onmouseout=\"close_tip();\">?</a>
		</td>
	</tr>";
	
	if ($action == 'edit') $form .= "\r\n\t<tr>\t\t<td>Панель была создана:</td>\r\n\t\t<td>".date(j." ".F." ".Y." в ".H.":".i,$time)."</td>\t\n\t</tr>";
	
	$form .= "\r\n\t<tr>
		<td colspan=\"2\">
			<span class=\"important_button\"><input type=\"submit\" name=\"post\" value=\"Сохранить\" /></span>
			<input onclick='javascript:window.open(\"upload.php\", \"\", \"width=500 height=300 scrollbars\");' type=\"button\" value=\"Загрузить что-нибудь\" />
		</td>
	</tr>
</table>
</form>";
	
	past_table ("Добавление/Изменение панели", $form);
}

